home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / DELPHI / RTDI.ZIP / TESTUNIT.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1995-12-12  |  6.0 KB  |  223 lines

  1. unit Testunit;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, DB, Buttons, StdCtrls, ExtCtrls, RtDbIni, DBTables,
  8.   DBCtrls, Grids, DBGrids, Mask, Gauges;
  9.  
  10. type
  11.   TForm1 = class(TForm)
  12.     Database1: TDatabase;
  13.     Panel1: TPanel;
  14.     Edit1: TEdit;
  15.     Label1: TLabel;
  16.     SpeedButton1: TSpeedButton;
  17.     OpenDialog1: TOpenDialog;
  18.     BitBtn1: TBitBtn;
  19.     RtDbIniFile1: TRtDbIniFile;
  20.     Table1: TTable;
  21.     Label2: TLabel;
  22.     DataSource1: TDataSource;
  23.     DBGrid1: TDBGrid;
  24.     BitBtn2: TBitBtn;
  25.     Button1: TButton;
  26.     Button2: TButton;
  27.     Button3: TButton;
  28.     Button4: TButton;
  29.     Button5: TButton;
  30.     Button6: TButton;
  31.     Button7: TButton;
  32.     Button8: TButton;
  33.     Button9: TButton;
  34.     Label3: TLabel;
  35.     Label4: TLabel;
  36.     EditValue: TEdit;
  37.     ListBox1: TListBox;
  38.     Table1FSECTION: TStringField;
  39.     Table1FENTRY: TStringField;
  40.     Table1FVALUE: TStringField;
  41.     EditEntry: TEdit;
  42.     EditSection: TEdit;
  43.     RtGauge1: TGauge;
  44.     procedure FormCreate(Sender: TObject);
  45.     procedure SpeedButton1Click(Sender: TObject);
  46.     procedure BitBtn1Click(Sender: TObject);
  47.     procedure Button1Click(Sender: TObject);
  48.     procedure Button2Click(Sender: TObject);
  49.     procedure Button3Click(Sender: TObject);
  50.     procedure Button5Click(Sender: TObject);
  51.     procedure Button4Click(Sender: TObject);
  52.     procedure Button6Click(Sender: TObject);
  53.     procedure Button7Click(Sender: TObject);
  54.     procedure Button8Click(Sender: TObject);
  55.     procedure Button9Click(Sender: TObject);
  56.     procedure BitBtn2Click(Sender: TObject);
  57.     procedure DataSource1DataChange(Sender: TObject; Field: TField);
  58.   private
  59.     { Private-Deklarationen }
  60.   public
  61.     { Public-Deklarationen }
  62.   end;
  63.  
  64. var
  65.   Form1: TForm1;
  66.  
  67. implementation
  68.  
  69. uses
  70.    Login, Rt;
  71.  
  72. {$R *.DFM}
  73.  
  74. function SqlLogin(Database: TDatabase; AliasName,UserName,Password: string): Boolean;
  75. begin
  76.    if Database.Connected then
  77.       Database.Close;
  78.    Database.AliasName := AliasName;
  79.    Database.Params.Values['USER NAME'] := UserName;
  80.    Database.Params.Values['PASSWORD'] := Password;
  81.    Database.Open;
  82.    Result := Database.Connected;
  83. end;
  84.  
  85. procedure TForm1.FormCreate(Sender: TObject);
  86. var
  87.    Dir: array [0..255] of Char;
  88. begin
  89.    if not Database1.Connected then
  90.    begin
  91.       LoginForm := TLoginForm.Create(Application);
  92.       try
  93.          if LoginForm.ShowModal=idOK then
  94.             try
  95.                SqlLogin(Database1,LoginForm.Alias,LoginForm.User,LoginForm.Password);
  96.             except
  97.                if (not Database1.Connected) then
  98.                   raise EDatabaseError.Create('Login fehlgeschlagen !');
  99.             end;
  100.       finally
  101.          LoginForm.Release;
  102.       end;
  103.    end;
  104.    GetWindowsDirectory(Dir,255);
  105.    OpenDialog1.InitialDir := StrPas(Dir);
  106. end;
  107.  
  108. procedure TForm1.SpeedButton1Click(Sender: TObject);
  109. begin
  110.    if OpenDialog1.Execute then
  111.       Edit1.Text := OpenDialog1.FileName;
  112. end;
  113.  
  114. procedure TForm1.BitBtn1Click(Sender: TObject);
  115. var
  116.    Name,Section,Line: string;
  117.    i: integer;
  118.    S: TStringList;
  119. begin
  120.    if FileExists(Edit1.Text) then
  121.    begin
  122.       Name := ExtractFileName(Edit1.Text);
  123.       i := Pos('.',Name);
  124.       if i>0 then
  125.          Name := Copy(Name,1,i-1);
  126.       if Table1.Active then
  127.          Table1.Close;
  128.       {Table1.TableName := Name;}
  129.       DataSource1.Enabled := False;
  130.       RtDbIniFile1.Table := Table1;
  131.       S := TStringList.Create;
  132.       S.LoadFromFile(Edit1.Text);
  133.       Section := '';
  134.       try
  135.          RtGauge1.MinValue := 0;
  136.          RtGauge1.MaxValue := S.Count-1;
  137.          RtGauge1.Progress := 0;
  138.          RtGauge1.Visible := True;
  139.          for i:=0 to S.Count-1 do
  140.          begin
  141.             RtGauge1.Progress := RtGauge1.Progress+1;
  142.             Line := s[i]+#0;
  143.             if not StrEmpty(@Line[1]) then
  144.             begin
  145.                if Line[1]='[' then
  146.                   Section := StrExtract(@Line[2],']',1)
  147.                else if Section<>'' then
  148.                   RtDbIniFile1.WriteString(Section,StrExtract(@Line[1],'=',1),StrExtract(@Line[1],'=',2));
  149.             end;
  150.          end;
  151.       finally
  152.          RtGauge1.Visible := False;
  153.          S.Free;
  154.       end;
  155.       Table1.Fields[0].Visible := False;
  156.       Table1.Fields[1].DisplayLabel := 'Entry';
  157.       Table1.Fields[2].DisplayLabel := 'Value';
  158.       Table1.First;
  159.       DataSource1.Enabled := True;
  160.    end;
  161. end;
  162.  
  163. procedure TForm1.Button1Click(Sender: TObject);
  164. begin
  165.    RtDbIniFile1.EraseSection(EditSection.Text);
  166. end;
  167.  
  168. procedure TForm1.Button2Click(Sender: TObject);
  169. begin
  170.     RtDbIniFile1.ReadSection(EditSection.Text,ListBox1.Items);
  171. end;
  172.  
  173. procedure TForm1.Button3Click(Sender: TObject);
  174. begin
  175.     RtDbIniFile1.ReadSectionValues(EditSection.Text,ListBox1.Items);
  176. end;
  177.  
  178. procedure TForm1.Button5Click(Sender: TObject);
  179. begin
  180.     EditValue.Text := IntToStr(RtDbIniFile1.ReadInteger(EditSection.Text,EditEntry.Text,0));
  181. end;
  182.  
  183. procedure TForm1.Button4Click(Sender: TObject);
  184. begin
  185.     EditValue.Text := IntToStr(Ord(RtDbIniFile1.ReadBool(EditSection.Text,EditEntry.Text,False)));
  186. end;
  187.  
  188. procedure TForm1.Button6Click(Sender: TObject);
  189. begin
  190.     EditValue.Text := RtDbIniFile1.ReadString(EditSection.Text,EditEntry.Text,'');
  191. end;
  192.  
  193. procedure TForm1.Button7Click(Sender: TObject);
  194. begin
  195.     RtDbIniFile1.WriteBool(EditSection.Text,EditEntry.Text,Boolean(StrToInt(EditValue.Text)));
  196. end;
  197.  
  198. procedure TForm1.Button8Click(Sender: TObject);
  199. begin
  200.     RtDbIniFile1.WriteInteger(EditSection.Text,EditEntry.Text,StrToInt(EditValue.Text));
  201. end;
  202.  
  203. procedure TForm1.Button9Click(Sender: TObject);
  204. begin
  205.     RtDbIniFile1.WriteString(EditSection.Text,EditEntry.Text,EditValue.Text);
  206. end;
  207.  
  208. procedure TForm1.BitBtn2Click(Sender: TObject);
  209. begin
  210.     Close;
  211. end;
  212.  
  213. procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
  214. begin
  215.     with (Sender as TDataSource).Dataset do
  216.    begin
  217.         EditSection.Text := FieldByName('FSECTION').AsString;
  218.         EditEntry.Text := FieldByName('FENTRY').AsString;
  219.    end;
  220. end;
  221.  
  222. end.
  223.